package cz.jm.web.jmlib.client.dialog.validation;

import java.util.LinkedList;
import java.util.List;

/** Trieda zabezpecujuca skupinovu validaciu validovatelnych poloziek. 
 * Sama nema ziadnu hodnotu pre validaciu ale je validna pokial su vsetky 
 * validovatelne polozky pridane pomocou {@linkplain #addValidatedItem(Validable)} validne.
 * Validacie prebehne skrz vsetky polozky aj pri najdeny uz nevalidnych poloziek. */
public class MultipleValidable implements Validable {
	private List<Validable> validatedItems = new LinkedList<Validable>();
	
	public void addValidatedItem(Validable v) {
		validatedItems.add(v);
	}
	
	@Override
    public boolean isValid() {
		boolean isValid  = true;
		for (Validable v : validatedItems) {
			if (! v.isValid()) {
				isValid = false;
			}
		}
		return isValid;    
    }
}
